1. Field of the Invention
The present invention relates to application workload management in a computing environment, and more particularly, the invention is directed to a system and method for workload management where processes affiliated with a class have resource management strategies that are specific to that class for advanced resource management.
2. Background Information
By way of background, large scale applications depend upon computing systems to receive, process, and store data. These computing systems may include one or more computers that may be networked together, forming a computer network. As can be appreciated, computer networks may include a multiplicity of computers that are networked together with each computer in the network configured with one or more processors, memory devices, and data storage devices.
The quantity and types of tasks that the network is requested to execute can very greatly. There are instances when some or a portion of the network's resources, including processors, memory, and data storage devices, are not in use, while there are other instances when some or most of the network's resources are used at capacity. In some instances, the network may be requested to execute tasks beyond its capacity. Thus, the workload on networks can vary substantially.
Workload management involves the intelligent sharing of resources among plural applications without any one application unfairly dominating the usage of the resources and thereby degrading the performance of peer applications. Fairness of application usage is defined by an administrator setting policies regarding a particular application's minimal and maximal access to key, shared resources. Exemplary resources that can be managed in this fashion include processor (CPU) time, memory, data storage device input/output (IO) bandwidth, and network bandwidth.
Typically in workload management systems, a determination is made, as to how much of a given resource or set of resources, will be needed by sets of processes that will be utilizing the resource or resources. Limits are then set on the resources, such as minima and maxima, for the sets of processes. These sets of processes are often identified as a class or a workload.
A workload management system is disclosed in U.S. Pat. No. 7,073,177 B2, to Foote et al. (the '177 patent), which is directed to a resource managing system for changing resource consumption state of the lower priority resource entity to more restrictive state when resources reach a critical level. Disclosed therein, a resource manager monitors the availability of resources and determines if a resource is critically short or reaches a particular usage level. When it is determined that the resource has reached a particular usage level, the resource manager selects a resource entity based on one or more criteria, and the resourced entity is requested to change is resource consumption state to a more restrictive state. The one or more criteria may include a priority value for each resource entity of the system. Resource entities with a lower priority value may be requested to change resource consumption before resource entities with a higher priority value. A disadvantage of the system of the '177 patent is that when resource consumption reaches a critical level, consumption of the resource is restricted. Thus, the system of the '177 patent restricts usage of the system's resources, and may not provide optimum usage of the resources.
A known open-source research operating system is K42, currently under development by International Business Machines Corporation (IBM), of Armonk, N.Y. The primary focus of K42 is an operating system that addresses performance and scalability issues of system software on large-scale, shared memory, NUMA multiprocessor computers. K42 utilizes a microkernel architecture rather than a monolithic kernel design. K42 consists of a small exception-handling component that serves as the microkernel, a fast instructions per clock (IPC) mechanism called protected procedure call (PPC), and servers for all other components of the operating system. These servers exist in separate address spaces and rely upon the fast IPC mechanism for communication with the microkernel and other servers. While K42 discusses the possibility of replacing system algorithms on a per-process level, it does not factor it into a global resource management strategy. K42 also does not associate this ability to manage resources into a process classification system similar to existing workload management systems.
While known workload management systems allow a set of parameters to be set, per-class, for a single algorithm, a disadvantage is that they do not afford the use of resource management policies that take into account the parameters of a workload that are not dealt with in any way by the policies of any other class. Another disadvantage of known workload management systems, is that the polices thereof are implemented using a single, tunable algorithm. While a single, tunable algorithm may be altered for different policies, it may not be adequate to account for the parameters of workloads of other classes.
Therefore, there exists a need in the art for a workload management system where the resource management policies of a class may include workload attributes that take into account parameters of a workload that are not dealt with in any way by the policies of any other class.